package com.xqb.common.utils;

import com.xqb.modules.domain.pojo.es.EsCourse;

import java.util.List;
import java.util.stream.Collectors;

/**
 * @Author: JinChen Zhu
 * @CreateTime: 2024-10-29  20:54
 * @Description: 业务工具类
 */
public class BusinessUtils {
    /**
     * 将多个课程信息按课程ID进行分组，并将相同课程ID下的教师名称列表合并到一个课程对象中
     *
     * @param esCourses 课程信息列表
     * @return 合并后的课程信息列表，其中每个课程对象中的教师名称列表包含了所有相同课程ID下的教师名称
     */
    public static List<EsCourse> collectLesTeachers(List<EsCourse> esCourses) {
        esCourses = esCourses.stream().collect(Collectors.groupingBy(EsCourse::getId))
                .values().stream().map(courses -> {
                    EsCourse esCourse = courses.get(0);
                    esCourse.setTeachers(courses.stream().map(EsCourse::getTeacherName).collect(Collectors.toList()));
                    return esCourse;
                }).collect(Collectors.toList());
        return esCourses;
    }
}
